package com.ym.soso.domain.param;

import com.ym.common.constant.BeanCovert;
import com.ym.soso.domain.entity.PolyclinicEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;

import static com.ym.common.constant.ValidRule.Add;
import static com.ym.common.constant.ValidRule.Update;

/**
 * 综合门诊 对象 polyclinic
 *
 * @author ym
 * @date 2020-09-02
 */
@ApiModel("综合门诊 -修改")
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PolyclinicUpdateParam extends BeanCovert<PolyclinicEntity>{

    @ApiModelProperty("主键")
    @NotNull(message = "主键不能为空", groups = {Add.class, Update.class})
    private Long id;

    @ApiModelProperty("编码")
    @Size(max = 200, message = "编码长度超过{max}", groups = {Add.class, Update.class})
    private String theCode;

    @ApiModelProperty("icon图")
    @Size(max = 200, message = "icon图长度超过{max}", groups = {Add.class, Update.class})
    private String icon;

    @ApiModelProperty("名称")
    @NotEmpty(message = "名称不能为空", groups = {Add.class, Update.class})
    @Size(max = 200, message = "名称长度超过{max}", groups = {Add.class, Update.class})
    private String theName;

    @ApiModelProperty("区")
    @NotEmpty(message = "区不能为空", groups = {Add.class, Update.class})
    @Size(max = 20, message = "区长度超过{max}", groups = {Add.class, Update.class})
    private String area;

    @ApiModelProperty("省份")
    @NotEmpty(message = "省份不能为空", groups = {Add.class, Update.class})
    @Size(max = 20, message = "省份长度超过{max}", groups = {Add.class, Update.class})
    private String prov;

    @ApiModelProperty("市")
    @NotEmpty(message = "市不能为空", groups = {Add.class, Update.class})
    @Size(max = 20, message = "市长度超过{max}", groups = {Add.class, Update.class})
    private String city;

    @ApiModelProperty("经度")
    @NotNull(message = "经度不能为空", groups = {Add.class, Update.class})
    private Double lng;

    @ApiModelProperty("纬度")
    @NotNull(message = "纬度不能为空", groups = {Add.class, Update.class})
    private Double lat;

    @ApiModelProperty("地址")
    @NotEmpty(message = "地址不能为空", groups = {Add.class, Update.class})
    @Size(max = 200, message = "地址长度超过{max}", groups = {Add.class, Update.class})
    private String address;

    @ApiModelProperty("联系电话")
    @Size(max = 200, message = "联系电话长度超过{max}", groups = {Add.class, Update.class})
    private String linkPhone;

    @ApiModelProperty("营业时间")
    @Size(max = 200, message = "营业时间长度超过{max}", groups = {Add.class, Update.class})
    private String busTime;

    @ApiModelProperty("服务项目")
    @Size(max = 1000, message = "服务项目长度超过{max}", groups = {Add.class, Update.class})
    private String serviceItem;

    @ApiModelProperty("重点介绍")
    @Size(max = 200, message = "重点介绍长度超过{max}", groups = {Add.class, Update.class})
    private String impDesc;

    @ApiModelProperty("详情介绍")
    @Size(max = 5000, message = "详情介绍长度超过{max}", groups = {Add.class, Update.class})
    private String introduction;

    @ApiModelProperty("标签")
    @Size(max = 1000, message = "标签长度超过{max}", groups = {Add.class, Update.class})
    private String tags;

    @ApiModelProperty("发布人")
    private Long publisher;

    @ApiModelProperty("状态 (00未发布01已发布)")
    @NotEmpty(message = "状态 不能为空", groups = {Add.class, Update.class})
    @Size(max = 2, message = "状态 长度超过{max}", groups = {Add.class, Update.class})
    private String publishStatus;

    @ApiModelProperty("发布时间")
    private Date publishTime;

    @ApiModelProperty("创建人")
    @NotNull(message = "创建人不能为空", groups = {Add.class, Update.class})
    private Long creSb;

    @ApiModelProperty("创建时间")
    @NotNull(message = "创建时间不能为空", groups = {Add.class, Update.class})
    private Date creTime;

    @ApiModelProperty("更新人")
    private Long uptSb;

    @ApiModelProperty("更新时间")
    private Date uptTime;

    @ApiModelProperty("删除标志")
    @NotEmpty(message = "删除标志不能为空", groups = {Add.class, Update.class})
    @Size(max = 2, message = "删除标志长度超过{max}", groups = {Add.class, Update.class})
    private String deleted;

}
